package com.qili.service.supervisor;

import com.qili.base.service.BaseService;
import com.qili.entity.supervisor.SupervisorFile;
import com.qili.entity.supervisor.SupervisorFileTemp;
import com.qili.entity.supervisor.dto.SupervisorFileDTO;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author zhaoyongke
 * @date 2020/11/2
 * @description
 */
public interface SupervisorFileService extends BaseService<SupervisorFile,String> {
    public SupervisorFile getPersonalImg(String projectId);
    /**
     * @Author:Zhangshuo
     * @Description:根据项目ID删除
     * @param ids
     * @Date:20:44 2020-12-11
     */
    int deleteByProjectIds(String[] ids);


    void deleteAffairCaseByProjectIds(String[] ids);
    /**
    * @Author:zhaoyongke
    * @Description: 通过types 查询文档
    * @param dto
    * @Date:16:33 2020/12/15
    */
    List<SupervisorFileDTO>  getFileCountByType(SupervisorFileDTO dto);
    public List<SupervisorFileDTO> getFileCountByTypeZx(SupervisorFileDTO dto);

    /**
    * @Author:zhaoyongke
    * @Description:查询文档
    * @param dto
    * @Date:17:40 2020/12/17
    */
    List<SupervisorFileDTO> selectFileList(SupervisorFileDTO dto);
    List<SupervisorFileDTO> selectFileListZx(SupervisorFileDTO dto);


    public HashMap getOperByRole(String roleName, String fileId) throws  Exception;

    Integer selectOrderBySupervisorFile(Map paraMap);

    Integer selectMaxOrderBySupervisorFile(Map paraMap);

    /**
     * 把文件数据插入数据库,同时验证每一级是否都有数据:
     * @param newSupervisorFile
     * @param formCenterDic 判断基准起点
     */
    void insertFile(SupervisorFile newSupervisorFile,SupervisorFile formCenterDic);

    String setFilePathDics(String targetDicPath, SupervisorFile baseFile,SupervisorFile newFile);

    String setFilePathDicsBase(String targetDicPath,SupervisorFile baseFile,String projectId);

    /**
     * 设置以为文件的相关文件夹路径
     * @param file
     */
    void setFilePathDics(SupervisorFile file);

    List<SupervisorFile> selectAllProjectFile();

    List<SupervisorFileDTO> selectFileSerch(SupervisorFileDTO  dto);

    List<SupervisorFileDTO> selectFileComment(SupervisorFileDTO  dto);
    List<SupervisorFileDTO> selectFileReply(SupervisorFileDTO  dto);
    List<SupervisorFileDTO> showFileZjcgList(SupervisorFileDTO  dto);
    List<SupervisorFileDTO> showFileNumPic(SupervisorFileDTO  dto);

    List<SupervisorFileDTO> showFileByParentId(SupervisorFileDTO  dto);

    List<SupervisorFileDTO> showFileByUserZj(SupervisorFileDTO  dto);

    public  void  parseFileToText(SupervisorFile  file) throws Exception;

    public   void  saveParseFile(String fileId,String fileName,String searchKey,String text);


    List<SupervisorFileDTO> getzxFileCountByType(SupervisorFileDTO dto);

    List<SupervisorFileDTO> getjcFileCountByType(SupervisorFileDTO dto);

    List<SupervisorFileDTO> getFileCountByTypeJc(SupervisorFileDTO dto);

    List<SupervisorFileDTO> selectFileListJc(SupervisorFileDTO dto);


     List<SupervisorFileDTO> selectFileSeal(SupervisorFileDTO dto);


    List<SupervisorFileDTO> queryFileSealUrl(SupervisorFileDTO dto);

    List<SupervisorFileDTO> querySerachFileList(SupervisorFileDTO dto);

    int deleteByPrimaryKey(String  id);

    List<SupervisorFileDTO> queryBigMall(SupervisorFileDTO dto);




}
